<?php
App::uses('AppModel', 'Model');
/**
 * Observadore Model
 *
 * @property Usuario $Usuario
 */
class Observador extends AppModel {

	/**
	 * Configuracion de base de datos
	 */
	public $useDbConfig = 'default';

	/**
	 * Nombre de tabla
	 */
	public $useTable = 'observador';
	
	/**
	 * Campo identificativo
	 */
	public $displayField = 'nombre';


	/**
	 * Relaciones
	 */
	public $belongsTo = array(
		'Usuario' => array(
			'className' => 'Usuario',
			'foreignKey' => 'usuario_id',
			'conditions' => '',
			'fields' => '',
			'order' => ''
		)
	);
	
	/**
	 * Validaciones 
	 */
	public $validate = array(
		'nombre' => array(
            'required' => array(
                'rule' => array('notEmpty'),
				'required' => true,
                'message' => 'El nombre completo es obligatorio.'
            ),
            'maxLength' => array(
		        'rule' => array('maxLength', 250),
		        'message' => 'El tamaño máximo del nombre completo son 250 caracteres.'
		    )
        )
	);
	
	/**
	 * Funcion que genera un codigo de observador a partir del nombre
	 *  
	 * @param string $nombre
	 */
	public function generarCodigo($nombre) {
		
		$resultado;
		
		// Comprobamos que el nombre no sea nulo
		if(!empty($nombre)) {
			
			// Eliminaos los espacios en blanco al principio y al final de la cadena
			$nombre = trim($nombre);
			
			// Dividimos el nombre usando como separador el espacion en blanco (" ")
			$nombre_dividido = explode(" ", $nombre);
			
			if(true) {
				
			}
			
			// Eliminamos todos los caracteres salvo letras y dígitos
			preg_replace("[^A-Za-z0-9 ]", "", $nombre);
			
			
			// Convertimos a mayuscula el resultado
			$resultado = strtoupper($resultado);
			
		}
		
		

		// Si hay tres elementos o más, cogemos la primera letra de cada elemento
		
		// Si ya existe el código, cogemos la primera y la segunda letra del primer elemento y la primera del segundo elemento
		
		// Si ya existe el código, cogemos la primera letra del primer elemento y la primera y segunda letra del segundo elemento
		
		// Si ya existe el código, cogemos la primera letra del primer elemento y la primera y segunda letra del tercer elemento
		
		
	}
}
